/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package phd.dupenois.changeidentifiers.engine;

import phd.dupenois.changeidentifiers.ChangeIdentifierSet;
import phd.dupenois.changeidentifiers.dotpatterns.DotPattern;
import phd.dupenois.changeidentifiers.engine.testing.TestManager;
import phd.dupenois.changeidentifiers.engine.testing.TestingInitialisationException;
import phd.dupenois.changeidentifiers.footprints.algorithms.FootprintAlgorithm;

/**
 *
 * @author Max
 */
public interface EngineInterface extends Runnable{
    public void initialise(FootprintAlgorithm footprintAlgorithm,
            ChangeIdentifierSet changeIdentifierSet);
    public void initialise(FootprintAlgorithm footprintAlgorithm,
            ChangeIdentifierSet changeIdentifierSet, int pauseTime);
    public void loadDotPattern(DotPattern dotPattern);
    public void setupTestManager(TestManager testManager, String testTitle, String testDescription)
            throws TestingInitialisationException;
    public boolean isRunning();
    public void stop();
}
